<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <!-- 
    OSI参考模型：
      应用层
      表示层
      会话层
      传输层
      网络层
      数据链路层
      物理层
      
    TCP/IP四层模型

    五层原理模型：
      应用层：协议：DNS、HTTP、SMTP 、FTP 解决通过应用进程的交互来实现特定网络应用的问题
      传输层：协议：UDP、TCP  解决进程之间基于网络的通信问题
      网络层：协议：ARP、IP  解决分组在多个网络上传输的问题
      数据链路层：协议：以太网、无线lan等网络接口  解决分组在一个网络上传输的问题 可靠传输
      物理层： 解决使用何种信号来传输比特的问题 

      TCP协议：面向连接、可靠的传输协议，基于字节流的传输层通信协议【源地址、源端口、目的地址、目的端口】
        syn=1是建立连接的报文 ACK=1是确认收到的报文  Fin=1是用来关闭连接的报文
        连接前会三次握手（建立连接）：首先客户端会向服务端发送syn=1 seq=x（第一次握手），服务端收到后会返回syn=1和ACK=1 seq=y ack=x+1给客户端（第二次握手）
          客服端最后在回复服务端ack=1 seq=x+1 ack=y+1（第三次握手）   
      三次握手的作用：为了保证能建立一个安全可靠的连接，使TCP双方能够确知对方的存在、使TCP双方能够协商一些参数、使双方能够对运输实体资源（缓存大小、）进行分配
      为什么是三次握手而不是两次：是为了防止已失效的连接请求报文段突然又传送到了TCP服务器
          假如有一个人想对另一个人说话，首先我：我想和你说句话   你：好的，你说吧    我：好的  这就是抽象画的三次握手

        三次握手后双方开辟资源 ，传输数据

        四次分手（断开连接）：客服端给服务端发送fin=1 ACK=1 seq=u ack=v（第一次），服务端返回ACK=1 seq=v ack=u+1（第二次），然后再返回一个fin=1 ACK=1 seq=w
           ack=u+1（第三次）  客户端最后发送ACK=1 seq=u+1 ack=w+1给服务端      双方的连接断开  释放资源 
          假如有一对情侣想分手：男：我想分手（第一次）   女：哦哦（第二次 只是回复收到了，但是没有回答分不分） 
            女：好吧  分吧（第三次）  男：好的  

      

   -->
</body>
</html>